export function removal(A,B){
  let All=B
 A.forEach(itemA=>{
      if(B.length>0){//判断B是否长度0
          let boolen=B.every(itemB=>{
              return itemB.id!=itemA.id && itemA.id!==itemB.productId
         })
         if(boolen){ //B里面不存在itemA就往里里面push
          if(!itemA.productId){
            Number(itemA.num)
            itemA.num=1
             if(itemA.secondList && itemA.secondList.length>0){
                   
              itemA.secondList.forEach(_item=>{
                    Number(_item.count)
                    Number(_item.num)
                    _item.count =_item.num
                })
              }
              }
          All.push(itemA)
        }else{
          return false  //存在就不push
          }
      }else{//B长度为0直接添加
        if(!itemA.productId){
          Number(itemA.num)
          itemA.num=1
           if(itemA.secondList && itemA.secondList.length>0){
                 
            itemA.secondList.forEach(_item=>{
                  Number(_item.count)
                  Number(_item.num)
                  _item.count =_item.num
              })
            }
            }
          All.push(itemA)
      }
  })
return All
}

// 父找子
export function translateDataToTree(data) {
//没有父节点的数据
let parents = data.filter(value => value.parentId == 'undefined' || value.parentId == null ||value.parentId==0)
//有父节点的数据
let childrens = data.filter(value => value.parentId !== 'undefined' && value.parentId != null)
//定义转换方法的具体实现
let translator = (parents, childrens) => {
  //遍历父节点数据
  parents.forEach((parent) => {
    //遍历子节点数据
    childrens.forEach((current, index) => {
      //此时找到父节点对应的一个子节点
      if (current.parentId === parent.id) {
        //对子节点数据进行深复制，这里只支持部分类型的数据深复制，对深复制不了解的童靴可以先去了解下深复制
        let temp = JSON.parse(JSON.stringify(childrens))
        //让当前子节点从temp中移除，temp作为新的子节点数据，这里是为了让递归时，子节点的遍历次数更少，如果父子关系的层级越多，越有利
        temp.splice(index, 1)
        //让当前子节点作为唯一的父节点，去递归查找其对应的子节点
        translator([current], temp)
        //把找到子节点放入父节点的childrens属性中
        typeof parent.childrens !== 'undefined' ? parent.childrens.push(current) : parent.childrens = [current]
      }
    }
    )
  }
  )
}

//调用转换方法
translator(parents, childrens)

//返回最终的结果
return parents
}

export function mergeArr(arr){
let newarr=[]
arr.forEach(item=>{

   if(newarr.length>0){
    
    let bool=newarr.every(a=>{
       return  a.productId!=item.productId
      })
      if(bool){
        newarr.push(item)
      }else{
        return
      }
   }else{
     newarr.push(item)
   }
})

newarr.forEach(item=>{
    let total=0
    arr.forEach(b=>{
      if(b.productId==item.productId){
        total+=b.productCount
      }
    })
    item.productCount=total
})
return newarr
}
